<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta content="width=device-width, initial-scale=1.0" name="viewport">
    <meta content="smart-doc" name="generator">
    <%if(isNotEmpty(projectName)){%><title>${projectName}</title><%}else{%><title>API Reference</title><%}%>
    <link href="font.css" rel="stylesheet">
    <link href="AllInOne.css?v=${version}" rel="stylesheet"/>
    <%if(isNotEmpty(highlightCssLink)){%>
    <link href="${highlightCssLink}" rel="stylesheet">
    <%}%>
    <style>.literalblock pre, .listingblock pre:not(.highlight), .listingblock pre[class="highlight"], .listingblock pre[class^="highlight "], .listingblock pre.CodeRay, .listingblock pre.prettyprint {
        background: ${background}
    }

    .hljs {
        padding: 0
    }</style>
    <script src="highlight.min.js"></script>
    <script src="jquery.min.js"></script>
</head>
<body class="book toc2 toc-left">
<div id="header"><%if(isNotEmpty(projectName)){%><h1>${projectName}</h1><%}%>
    <div class="toc2" id="toc">
        <div id="book-search-input"><input id="search" placeholder="Type to search" type="text"></div>
        <div id="toctitle"><span>API Reference</span></div>
        <ul class="sectlevel1" id="accordion"><%for(apiGroup in
            apiDocList){%><%if(!apiDocListOnlyHasDefaultGroup){%><%if(apiGroupLP.first){%>
            <li class="open"><a class="dd" href="#_${apiGroup.group}">${apiGroup.order}.${htmlEscape(apiGroup.group)}</a>
                <ul class="sectlevel1"><%for(api in apiGroup.childrenApiDocs){%>
                    <li class="open"><a class="dd" href="#_${api.desc}">${apiGroup.order}.${api.order}.${htmlEscape(api.desc)}</a>
                        <ul class="sectlevel2" style="display: block"><%for(doc in api.list){%>
                            <li><%if(doc.deprecated){%><a
                                    href="#_${apiGroup.order}_${api.order}_${doc.order}_${doc.desc}">${apiGroup.order}.${api.order}.${doc.order}.<span
                                    class="line-through">${htmlEscape(doc.desc)}</span></a><%}else{%><a
                                    href="#_${apiGroup.order}_${api.order}_${doc.order}_${doc.desc}">${apiGroup.order}.${api.order}.${doc.order}.${htmlEscape(doc.desc)}</a><%}%>
                            </li>
                            <%}%>
                        </ul>
                    </li>
                    <%}%>
                </ul>
            </li>
            <%}else{%>
            <li><a class="dd" href="#_${apiGroup.group}">${apiGroup.order}.${htmlEscape(apiGroup.group)}</a>
                <ul class="sectlevel1"><%for(api in apiGroup.childrenApiDocs){%>
                    <li class="open"><a class="dd" href="#_${api.desc}">${apiGroup.order}.${api.order}.${htmlEscape(api.desc)}</a>
                        <ul class="sectlevel2"><%for(doc in api.list){%>
                            <li><%if(doc.deprecated){%><a
                                    href="#_${apiGroup.order}_${api.order}_${doc.order}_${doc.desc}">${apiGroup.order}.${api.order}.${doc.order}.<span
                                    class="line-through">${htmlEscape(doc.desc)}</span></a><%}else{%><a
                                    href="#_${apiGroup.order}_${api.order}_${doc.order}_${doc.desc}">${apiGroup.order}.${api.order}.${doc.order}.${htmlEscape(doc.desc)}</a><%}%>
                            </li>
                            <%}%>
                        </ul>
                    </li>
                    <%}%>
                </ul>
            </li>
            <%}%><%}else{%><%if(apiGroupLP.first){%><%for(api in apiGroup.childrenApiDocs){%>
            <li class="open"><a class="dd" href="#_${api.desc}">${api.order}.${htmlEscape(api.desc)}</a>
                <ul class="sectlevel2"><%for(doc in api.list){%>
                    <li><%if(doc.deprecated){%><a href="#_${apiGroup.order}_${api.order}_${doc.order}_${doc.desc}">${api.order}.${doc.order}.<span
                            class="line-through">${htmlEscape(doc.desc)}</span></a><%}else{%><a
                            href="#_${apiGroup.order}_${api.order}_${doc.order}_${doc.desc}">${api.order}.${doc.order}.${htmlEscape(doc.desc)}</a><%}%>
                    </li>
                    <%}%>
                </ul>
            </li>
            <%}%><%}else{%><%for(api in apiGroup.childrenApiDocs){%>
            <li><a class="dd" href="#_${api.desc}">${api.order}.${htmlEscape(api.desc)}</a>
                <ul class="sectlevel2"><%for(doc in api.list){%>
                    <li><%if(doc.deprecated){%><a href="#_${apiGroup.order}_${api.order}_${doc.order}_${doc.desc}">${api.order}.${doc.order}.<span
                            class="line-through">${htmlEscape(doc.desc)}</span></a><%}else{%><a
                            href="#_${apiGroup.order}_${api.order}_${doc.order}_${doc.desc}">${api.order}.${doc.order}.${htmlEscape(doc.desc)}</a><%}%>
                    </li>
                    <%}%>
                </ul>
            </li>
            <%}%><%}%><%}%><%}%><%if(isNotEmpty(errorCodeList)){%>
            <li><a href="#_${errorListTitle}">${errorCodeListOrder}.${errorListTitle}</a></li>
            <%}%><%if(isNotEmpty(dictList)){%>
            <li><a class="dd" href="#_${dictListTitle}">${dictListOrder}.${dictListTitle}</a>
                <ul class="sectlevel2"><%for(dict in dictList){%>
                    <li><a href="#_${dictListOrder}_${dict.order}_${dict.title}">${dictListOrder}.${dict.order}.${dict.title}</a>
                    </li>
                    <%}%>
                </ul>
            </li>
            <%}%>
        </ul>
    </div>
</div>
<div id="content"><%if(isNotEmpty(revisionLogList)){%>
    <div id="preamble">
        <div class="sectionbody">
            <table class="tableblock frame-all grid-all spread">
                <colgroup>
                    <col style="width: 20%;">
                    <col style="width: 20%;">
                    <col style="width: 20%;">
                    <col style="width: 20%;">
                    <col style="width: 20%;">
                </colgroup>
                <thead>
                <tr>
                    <th class="tableblock halign-left valign-top">Version</th>
                    <th class="tableblock halign-left valign-top">Update Time</th>
                    <th class="tableblock halign-left valign-top">Status</th>
                    <th class="tableblock halign-left valign-top">Author</th>
                    <th class="tableblock halign-left valign-top">Description</th>
                </tr>
                </thead>
                <tbody><%for(revisionLog in revisionLogList){%>
                <tr>
                    <td class="tableblock halign-left valign-top"><p class="tableblock">${revisionLog.version}</p></td>
                    <td class="tableblock halign-left valign-top"><p class="tableblock">${revisionLog.revisionTime}</p>
                    </td>
                    <td class="tableblock halign-left valign-top"><p class="tableblock">${revisionLog.status}</p></td>
                    <td class="tableblock halign-left valign-top"><p class="tableblock">${revisionLog.author}</p></td>
                    <td class="tableblock halign-left valign-top"><p class="tableblock">${revisionLog.remarks}</p></td>
                </tr>
                <%}%>
                </tbody>
            </table>
        </div>
    </div>
    <%}%><%for(apiGroup in apiDocList){%><%if(!apiDocListOnlyHasDefaultGroup){%><h1 id="_${apiGroup.name}"><a
            class="anchor" href="#_${apiGroup.name}"></a><a class="link" href="#_${apiGroup.name}">${apiGroup.order}.${htmlEscape(apiGroup.name)}</a>
    </h1><%}%><%for(api in apiGroup.childrenApiDocs){%>
    <div class="sect1"><h2 id="_${api.desc}"><a class="anchor" href="#_${api.desc}"></a><a class="link"
                                                                                           href="#_${api.desc}"><%if(apiGroupLP.size>1){%>${apiGroup.order}.${api.order}.${htmlEscape(api.desc)}<%}else{%>${api.order}.${htmlEscape(api.desc)}<%}%></a>
    </h2>
        <div class="sectionbody"><%for(doc in api.list){%>
            <div class="sect2" id="${doc.methodId}"><h3 id="_${apiGroup.order}_${api.order}_${doc.order}_${doc.desc}"><a
                    class="anchor" href="#_${apiGroup.order}_${api.order}_${doc.order}_${doc.desc}"></a><%if(doc.deprecated){%><a
                    class="link" href="#_${apiGroup.order}_${api.order}_${doc.order}_${doc.desc}"><%if(!apiDocListOnlyHasDefaultGroup){%>${apiGroup.order}.${api.order}.${doc.order}.<%}else{%>${api.order}.${doc.order}.<%}%><span
                    class="line-through">${htmlEscape(doc.desc)}</span></a><%}else{%><a class="link"
                                                                                        href="#_${apiGroup.order}_${api.order}_${doc.order}_${doc.desc}"><%if(!apiDocListOnlyHasDefaultGroup){%>${apiGroup.order}.${api.order}.${doc.order}.${htmlEscape(doc.desc)}<%}else{%>${api.order}.${doc.order}.${htmlEscape(doc.desc)}<%}%></a><%}%>
            </h3>
                <div class="paragraph" data-download="${doc.download}" data-page="${doc.page}" data-url="${doc.url}"
                     id="${doc.methodId}-url"><p><strong>URL:</strong><a class="bare"
                                                                         href="${doc.url}">${doc.url}</a></p>
                </div>
                <div class="paragraph" data-method="${doc.type}" id="${doc.methodId}-method"><p><strong>Type:</strong>${doc.type}
                </p></div>
                <%if(isNotEmpty(doc.author)){%>
                <div class="paragraph"><p><strong>Author:</strong>${doc.author}</p></div>
                <%}%>
                <div class="paragraph" data-content-type="${doc.contentType}" id="${doc.methodId}-content-type"><p>
                    <strong>Content-Type:</strong>${doc.contentType}</p></div>
                <div class="paragraph"><p><strong>Description:</strong>${htmlEscape(doc.detail)}</p></div>
                <%if(isNotEmpty(doc.requestHeaders)&&displayRequestParams){%>
                <div class="paragraph"><p><strong>Request-headers:</strong></p></div>
                <table class="tableblock frame-all grid-all spread">
                    <colgroup>
                        <col style="width: 20%;">
                        <col style="width: 20%;">
                        <col style="width: 20%;">
                        <col style="width: 20%;">
                        <col style="width: 20%;">
                    </colgroup>
                    <thead>
                    <tr>
                        <th class="tableblock halign-left valign-top">Header</th>
                        <th class="tableblock halign-left valign-top">Type</th>
                        <th class="tableblock halign-left valign-top">Description</th>
                        <th class="tableblock halign-left valign-top">Required</th>
                        <th class="tableblock halign-left valign-top">Since</th>
                    </tr>
                    </thead>
                    <tbody><%for(header in doc.requestHeaders){%>
                    <tr>
                        <td class="tableblock halign-left valign-top"><p class="tableblock">${header.name}</p></td>
                        <td class="tableblock halign-left valign-top"><p class="tableblock">${header.type}</p></td>
                        <td class="tableblock halign-left valign-top"><p class="tableblock">
                            ${htmlEscape(header.desc)}</p></td>
                        <td class="tableblock halign-left valign-top"><p class="tableblock">${header.required}</p></td>
                        <td class="tableblock halign-left valign-top"><p class="tableblock">${header.since}</p></td>
                    </tr>
                    <%}%>
                    </tbody>
                </table>
                <%}%><%if(isNotEmpty(doc.pathParams)&&displayRequestParams){%>
                <div class="paragraph"><p><strong>Path-parameters:</strong></p></div>
                <table class="tableblock frame-all grid-all spread">
                    <colgroup>
                        <col style="width: 20%;">
                        <col style="width: 20%;">
                        <col style="width: 20%;">
                        <col style="width: 20%;">
                        <col style="width: 20%;">
                    </colgroup>
                    <thead>
                    <tr>
                        <th class="tableblock halign-left valign-top">Parameter</th>
                        <th class="tableblock halign-left valign-top">Type</th>
                        <th class="tableblock halign-left valign-top">Description</th>
                        <th class="tableblock halign-left valign-top">Required</th>
                        <th class="tableblock halign-left valign-top">Since</th>
                    </tr>
                    </thead>
                    <tbody><%for(param in doc.pathParams){%>
                    <tr>
                        <td class="tableblock halign-left valign-top"><p class="tableblock">${param.field}</p></td>
                        <td class="tableblock halign-left valign-top"><p class="tableblock">${param.type}</p></td>
                        <td class="tableblock halign-left valign-top"><p class="tableblock">
                            ${htmlEscape(param.desc)}</p></td>
                        <td class="tableblock halign-left valign-top"><p class="tableblock">${param.required}</p></td>
                        <td class="tableblock halign-left valign-top"><p class="tableblock">${param.version}</p></td>
                    </tr>
                    <%}%>
                    </tbody>
                </table>
                <%}%><%if(isNotEmpty(doc.queryParams)&&displayRequestParams){%>
                <div class="paragraph"><p><strong>Query-parameters:</strong></p></div>
                <table class="tableblock frame-all grid-all spread">
                    <colgroup>
                        <col style="width: 20%;">
                        <col style="width: 20%;">
                        <col style="width: 20%;">
                        <col style="width: 20%;">
                        <col style="width: 20%;">
                    </colgroup>
                    <thead>
                    <tr>
                        <th class="tableblock halign-left valign-top">Parameter</th>
                        <th class="tableblock halign-left valign-top">Type</th>
                        <th class="tableblock halign-left valign-top">Description</th>
                        <th class="tableblock halign-left valign-top">Required</th>
                        <th class="tableblock halign-left valign-top">Since</th>
                    </tr>
                    </thead>
                    <tbody><%for(param in doc.queryParams){%>
                    <tr>
                        <td class="tableblock halign-left valign-top"><p class="tableblock">${param.field}</p></td>
                        <td class="tableblock halign-left valign-top"><p class="tableblock">${param.type}</p></td>
                        <td class="tableblock halign-left valign-top"><p class="tableblock">
                            ${htmlEscape(param.desc)}</p></td>
                        <td class="tableblock halign-left valign-top"><p class="tableblock">${param.required}</p></td>
                        <td class="tableblock halign-left valign-top"><p class="tableblock">${param.version}</p></td>
                    </tr>
                    <%}%>
                    </tbody>
                </table>
                <%}%><%if(isNotEmpty(doc.requestParams)&&displayRequestParams){%>
                <div class="paragraph"><p><strong>Body-parameters:</strong></p></div>
                <table class="tableblock frame-all grid-all spread">
                    <colgroup>
                        <col style="width: 20%;">
                        <col style="width: 20%;">
                        <col style="width: 20%;">
                        <col style="width: 20%;">
                        <col style="width: 20%;">
                    </colgroup>
                    <thead>
                    <tr>
                        <th class="tableblock halign-left valign-top">Parameter</th>
                        <th class="tableblock halign-left valign-top">Type</th>
                        <th class="tableblock halign-left valign-top">Description</th>
                        <th class="tableblock halign-left valign-top">Required</th>
                        <th class="tableblock halign-left valign-top">Since</th>
                    </tr>
                    </thead>
                    <tbody><%for(param in doc.requestParams){%>
                    <tr>
                        <td class="tableblock halign-left valign-top"><p class="tableblock">${param.field}</p></td>
                        <td class="tableblock halign-left valign-top"><p class="tableblock">${param.type}</p></td>
                        <td class="tableblock halign-left valign-top"><p class="tableblock">
                            ${htmlEscape(param.desc)}</p></td>
                        <td class="tableblock halign-left valign-top"><p class="tableblock">${param.required}</p></td>
                        <td class="tableblock halign-left valign-top"><p class="tableblock">${param.version}</p></td>
                    </tr>
                    <%}%>
                    </tbody>
                </table>
                <%}%><%if(isNotEmpty(doc.requestUsage)&&isRequestExample){%>
                <div class="paragraph"><p><strong>Request-example:</strong></p></div>
                <div class="listingblock">
                    <div class="content">
                        <pre><code class="bash">${doc.requestUsage}</code></pre>
                    </div>
                </div>
                <%}%><%if(isNotEmpty(doc.responseParams)&&displayResponseParams){%>
                <div class="paragraph"><p><strong>Response-fields:</strong></p></div>
                <table class="tableblock frame-all grid-all spread">
                    <colgroup>
                        <col style="width: 25%;">
                        <col style="width: 25%;">
                        <col style="width: 25%;">
                        <col style="width: 25%;">
                    </colgroup>
                    <thead>
                    <tr>
                        <th class="tableblock halign-left valign-top">Field</th>
                        <th class="tableblock halign-left valign-top">Type</th>
                        <th class="tableblock halign-left valign-top">Description</th>
                        <th class="tableblock halign-left valign-top">Since</th>
                    </tr>
                    </thead>
                    <tbody><%for(param in doc.responseParams){%>
                    <tr>
                        <td class="tableblock halign-left valign-top"><p class="tableblock">${param.field}</p></td>
                        <td class="tableblock halign-left valign-top"><p class="tableblock">${param.type}</p></td>
                        <td class="tableblock halign-left valign-top"><p class="tableblock">
                            ${htmlEscape(param.desc)}</p></td>
                        <td class="tableblock halign-left valign-top"><p class="tableblock">${param.version}</p></td>
                    </tr>
                    <%}%>
                    </tbody>
                </table>
                <%}%><%if(isNotEmpty(doc.responseUsage)&&isResponseExample){%>
                <div class="paragraph"><p><strong>Response-example:</strong></p></div>
                <div class="listingblock">
                    <div class="content">
                        <pre><code class="json">${doc.responseUsage}</code></pre>
                    </div>
                </div>
                <%}%>
            </div>
            <%}%>
        </div>
    </div>
    <%}%><%}%>
    <%if(isNotEmpty(errorCodeList)){%>
    <div class="sect1"><h2 id="_${errorListTitle}"><a class="anchor" href="#_${errorListTitle}"></a><a class="link"
                                                                                                       href="#_${errorListTitle}">${errorCodeListOrder}.${errorListTitle}</a>
    </h2>
        <div class="sectionbody">
            <table class="tableblock frame-all grid-all spread">
                <colgroup>
                    <col style="width: 50%;">
                    <col style="width: 50%;">
                </colgroup>
                <thead>
                <tr>
                    <th class="tableblock halign-left valign-top">Error code</th>
                    <th class="tableblock halign-left valign-top">Description</th>
                </tr>
                </thead>
                <tbody><%for(error in errorCodeList){%>
                <tr>
                    <td class="tableblock halign-left valign-top"><p class="tableblock">${error.value}</p></td>
                    <td class="tableblock halign-left valign-top"><p class="tableblock">${htmlEscape(error.desc)}</p>
                    </td>
                </tr>
                <%}%>
                </tbody>
            </table>
        </div>
    </div>
    <%}%><%if(isNotEmpty(dictList)){%>
    <div class="sect1"><h2 id="_${dictListTitle}"><a class="anchor" href="#_${dictListTitle}"></a><a class="link"
                                                                                                     href="#_dict_list">${dictListOrder}.${dictListTitle}</a>
    </h2>
        <div class="sectionbody"><%for(dict in dictList){%>
            <div class="sect2"><h3 id="_${dictListOrder}_${dict.order}_${dict.title}"><a class="anchor"
                                                                                         href="#_${dictListOrder}_${dict.order}_${dict.title}"></a><a
                    class="link" href="#_${dictListOrder}_${dict.order}_${dict.title}">${dictListOrder}.${dict.order}.${htmlEscape(dict.title)}</a>
            </h3>
                <table class="tableblock frame-all grid-all spread">
                    <colgroup>
                        <col style="width: 33%;">
                        <col style="width: 33%;">
                        <col style="width: 33%;">
                    </colgroup>
                    <thead>
                    <tr>
                        <th class="tableblock halign-left valign-top">Code</th>
                        <th class="tableblock halign-left valign-top">Type</th>
                        <th class="tableblock halign-left valign-top">Description</th>
                    </tr>
                    </thead>
                    <tbody><%for(dataDict in dict.dataDictList){%>
                    <tr>
                        <td class="tableblock halign-left valign-top"><p class="tableblock">${dataDict.value}</p></td>
                        <td class="tableblock halign-left valign-top"><p class="tableblock">${dataDict.type}</p></td>
                        <td class="tableblock halign-left valign-top"><p class="tableblock">
                            ${htmlEscape(dataDict.desc)}</p></td>
                    </tr>
                    <%}%>
                    </tbody>
                </table>
            </div>
            <%}%>
        </div>
    </div>
    <%}%>
    <footer class="page-footer"><span class="copyright">Generated by smart-doc at ${createTime}</span><span
            class="footer-modification">Suggestions,contact,support and error reporting on<a
            href="https://gitee.com/smart-doc-team/smart-doc" target="_blank">Gitee</a>or<a
            href="https://github.com/smart-doc-group/smart-doc.git" target="_blank">Github</a></span>
    </footer>
    <div href="javascript:void(0)" id="toTop"><img id="upArrow"
                                                   src=""><span
            id="upText">Top</span></div>
</div>
<script src="search.js?v=${version}"></script>
<script>
    $(function(){const Accordion=function(el,multiple){this.el=el||{};this.multiple=multiple||false;const links=this.el.find(".dd");links.on("click",{el:this.el,multiple:this.multiple},this.dropdown)};Accordion.prototype.dropdown=function(e){const $el=e.data.el;const $this=$(this),$next=$this.next();$next.slideToggle();$this.parent().toggleClass("open");if(!e.data.multiple){$el.find(".submenu").not($next).slideUp("20").parent().removeClass("open")}};new Accordion($("#accordion"),false);hljs.highlightAll();$(window).scroll(function(){if($(window).scrollTop()>100){$("#toTop").fadeIn(1500);$("#toTop").hover(function(){$("#upArrow").hide();$("#upText").show()},function(){$("#upArrow").show();$("#upText").hide()})}else{$("#toTop").fadeOut(1500)}});$("#toTop").click(function(){$("body, html").animate({scrollTop:0},1000);return false})});










</script>
</body>
</html>